define(function(require, exports, module) {
	var $ = jQuery = require('jquery');
	var browser = require("browser")();
	return function($ele, p) {
		var prevent = (p == null) ? true : p;
		if (prevent) {
			if (browser.msie || browser.safari) {
				$ele.bind('selectstart', function() {
					return false;
				});
			} else if (browser.mozilla) {
				$ele.css('MozUserSelect', 'none');
				$('body').trigger('focus');
			} else if (browser.opera)
				$ele.bind('mousedown', function() {
					return false;
				});
			else {
				$ele.attr('unselectable', 'on');
			}
			$ele.addClass("f-unselect");
		} else {
			if (browser.msie || browser.safari) {
				$ele.unbind('selectstart');
			} else if (browser.mozilla) {
				$ele.css('MozUserSelect', 'inherit');
			} else if (browser.opera) {
				$ele.unbind('mousedown');
			} else {
				$ele.removeAttr('unselectable', 'on');
			}
			$ele.removeClass("f-unselect");
		}
	}
});